The disclosed invention comprises a system and method of creating and managing tasks, including techniques, environment and abstractions to define, create, group, sequence, store, retrieve, assign, request, route, fulfill, view, organize and attach documents/objects to xe2x80x9ctasksxe2x80x9d.
Database servers are well known to those skilled in the art. A database server provides data related services such as store, retrieve, relate, view, manipulate and organize data. However, data is static in nature. In other words, a data element is a passive element that represents a unit of information.
On the other hand, unlike a data element a xe2x80x9ctaskxe2x80x9d is an active element that represents a unit of work or action. Unfortunately, prior art database servers are not equipped to handle active elements, such as tasks.
Accordingly, what is need is a system and method of creating and manipulating tasks, which can organize and manage dynamic, active task elements. Preferably, such a system and method would also account for the fact that often times task elements are interrelated and conditioned upon the occurrence of previously performed tasks.
The disclosed invention provides such a system and method in the form of a xe2x80x9ctask serverxe2x80x9d, which provides a single environment to provide task related services. The disclosed task server provides task related services.
The system includes a task server linking at least one task definer, at least one task requester and at least one task fulfiller over a communications link. The task server includes a task processor for processing tasks, a task memory for storing task definitions and one or more graphical user interfaces (GUIs) for interfacing the system users to the task server to facilitate operation of said task processing system. The GUIs include task view interfaces, task fulfiller interfaces, which are used by task requesters and task fulfillers to request and fulfill tasks, respectively. The GUIs also include a plurality of administrative editor interfaces, which are used by task definers to define, group and sequence tasks.
The task server also provides an Application Programming Interface (API), which an application can use to communicate with and obtain services from the task server. Preferably, the disclosed task server is implemented using a large scale computer network, such as the Internet. In such an embodiment, end users can access and use the disclosed task server from any location using an standard computer, configured to communicate with the task server over the Internet using a standard Internet browser.